package pattern.singleton.demo7;

import java.io.Serializable;

/**
 * @Author suzhengzhuang
 * @Email: suzhengzhuang@icloud.com
 * @Date 2024/4/17 10:02
 * @PackageName:pattern.singleton
 * @ClassName: Demo1
 * @Description: TODO 饿汉式 静态成员变量的方式
 * @Version 1.0
 */
public class Singleton implements Serializable {

    // 1.私有构造方法
    private Singleton() {}

    // 2.在本类中创建本类对象
    private static Singleton instance = new Singleton();

    // 3.提供一个公共的访问方式，让外界获取该对象
    public static Singleton getInstance() {
        return instance;
    }

    // 当进行反序列化时会自动调用该方法，将该方法的返回值直接返回。
    public Object readResolve() {
        return instance;
    }
}
